1. Field of the Invention
The present invention relates to a distributed file system in which a file server for administering files, and clients for accessing the files, are connected through a network. More particularly, it relates to a distributed file system in which files having high usage frequencies are cached in clients.
2. Description of the Related Art
In many distributed file systems, file accesses are speeded up in such a way that files administered by a file server are cached in clients. More specifically, the copy of a particular one of the files administered by the file server is held on the client side. Thus, in a case where an access request for the particular file occurs next time, the client can handle the access request by itself without accessing the file server. The area of the client for administering such cached files is called a "cache area". The cache area is ordinarily reserved within the main storage or disk storage of the client.
Usually, the cache area has a limited storage capacity and cannot hold all the files to-be-accessed therein. The hit ratio of caching greatly affects file access performance. It is therefore very important to effectively utilize the limited cache area, and to achieve a high cache hit ratio.
In order to cache any file, a space for administering the copy of the file must be reserved within the cache area. In a case where a large number of files have already been cached, and where sufficient space cannot be reserved, any of the files stored in the cache area need to be expelled therefrom.
Usually, the client assigns priority levels to the respective cached files, whereupon it selects the files to be expelled from the cache area, in the order of ascending priority levels. Desirable for enhancing the hit ratio of caching is a cache control in which the files of higher frequencies in use are set at higher priority levels and are kept or left in the cache area at higher probabilities.
According to a method wherein actual file accesses are observed so as to assign higher priority levels to recently accessed files, cache control reflecting the frequencies of use of files can be realized to some extent. However, in a case where the frequencies of use of files are known beforehand, it is effective to perform a cache control in which a particular one of the files to be frequently accessed is set at a high priority level so as to prevent as far as possible that particular file from being expelled from the cache area. By way of example, a program developer accesses a source file frequently. In a client machine which the program developer uses, the high priority level is set for the source file beforehand, whereby the hit ratio of caching can be enhanced to speed up the file access.
A prior-art technique close to the present invention is a "Coda" distributed file system. In the "Coda" distributed file system, the priority levels of files are set for every client. That particular one of the files which is frequently accessed is set at a high priority level and is kept in the cache area of the client having a high probability of use, whereby the hit ratio of caching can be enhanced. The "Coda" distributed file system is stated in J. Kistler and M. Satyanarayanan: "Disconnected Operation in the Coda File System", ACM Transactions on Computer Systems, Vol. 10, No. 1, pp. 3-25 (1992).
A user who utilizes the distributed file system logs into one of the clients, and accesses any of the files administered by the file server. The files to be accessed differ between individual users. Therefore, the files which are frequently accessed by a certain client differ greatly depending upon the users who log into the client.
Accordingly, with the aforementioned prior-art technique which determines the priority levels of the files for every client, it is difficult to alter the priority levels of the files in accordance with the user who is logged in. Consequently, there is the possibility that a file which is frequently accessed by the user may fail to be set at a high priority level and may be expelled from the cache area. This leads to lowering of the hit ratio of caching.